#include<stdio.h>
#define Size 3

#define ArraySize(a) sizeof(a)/sizof(a[0])

/*
数组：一组数据类型相等
取数组元素时，需要数组名与数组下标，下标从零开始；
当访问数组超出限度的元素我们叫做访问越界；
静态数组，数组下标确定的数组
16进制是二进制的替换，提高可读性
1 2 3 4 5 6 7 8 9 a b c d e f 10 
11
数组的地址是连续的；
s数组容量是数组的总大小/单个元素的大小
#define ArraySize(a) sizeof(a)/sizof(a[0])
计算数组容量的宏函数

数组名作为函数参数传递时表现为指针
地址为数组首元素的地址
指针的数据类型代表它的步长
//a[i]==*( a+i )
printf("%p,%p,%p\n",a,&a+1,&a[0])
&a；是取数组的首地址，如果加一就是整个数组的距离


int a[4]={2016,2017,2018,2019};
int *ptr1=(int *)(& a + 1 );
int *ptr2=(int *)((int)a+1);
printf("%x,%x",prt[-1],*prt2);
2019




*/

void PrintArray(int a[Sizeof])
{
    for(int i=0;i<Size;i++)
    {
        printf("%d ",a[i])
    }
}
int main()
{

   int a[Size]={1,2,3,4,5,6};
   for(int i=0;i<Size;i++)
   {
    printf("%d",*(a+i));
    //a[i]==*( a+i )
   }
   PrintArray(a);
}
